package com.nlelpct.manage.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nlelpct.manage.model.entity.SysMenu;
import com.nlelpct.manage.model.vo.CurrentMenuVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 菜单权限表 Mapper 接口
 * </p>
 *
 * @author 小马
 * @since 2023-07-12
 */
@Mapper
public interface SysMenuMapper extends BaseMapper<SysMenu> {

    /**
     * 获取企业内的菜单列表
     *
     * @param systemId  系统ID
     * @param companyId 企业ID
     * @return
     */
    List<SysMenu> getMenuByCompany(@Param("systemId") String systemId, @Param("companyId") String companyId);

    /**
     * 根据菜单ID集合获取菜单数据
     *
     * @param menuIds  菜单ID集合
     * @param systemId 系统ID
     * @return 菜单数据
     */
    List<CurrentMenuVo> getMenuByMenuIds(@Param("menuIds") List<String> menuIds, @Param("systemId") String systemId);

    /**
     * 根据员工ID获取所拥有角色所拥有的菜单ID
     *
     * @param employeeId 员工ID
     * @return 菜单ID集合
     */
    List<String> getMenuIdByEmployeeId(@Param("employeeId") String employeeId);

}
